/* ===== 1. УНИВЕРСАЛЬНЫЙ СЕЛЕКТОР ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

/* ===== 2. СЕЛЕКТОРЫ ПО ТЕГУ ===== */
body {
    background-color: #f5f5f5;
    padding: 20px;
}

h1 {
    color: red; /* "Красный" в тексте */
    margin-bottom: 20px;
}

h2 {
    margin-top: 15px;
}

h3 {
    margin: 15px 0 10px 0;
}

ul {
    margin-left: 20px;
}

li {
    margin: 5px 0;
}

/* ===== 3. СЕЛЕКТОРЫ ПО КЛАССУ ===== */
.main-title {
    text-align: center;
    font-size: 2.5em;
}

/* Навигационные ссылки */
.nav-list .link {
    text-decoration: none;
    font-weight: bold;
    padding: 5px 10px;
    border-radius: 5px;
    display: inline-block;
    margin: 5px;
}

.nav-list .link:nth-child(1) { /* "Зеленый" */
    color: white;
    background-color: green;
}

.nav-list .link.special-link { /* "Синий" */
    color: white;
    background-color: blue;
}

.nav-list .link:nth-child(3) { /* "Желтый" */
    color: black;
    background-color: yellow;
}

/* Посты */
.post {
    border: 2px solid #ccc;
    padding: 15px;
    margin: 15px 0;
    border-radius: 8px;
}

/* Виджеты */
.widget {
    border: 2px dashed #aaa;
    padding: 15px;
    margin: 15px 0;
    border-radius: 8px;
}

.important-widget {
    border-color: maroon;
    border-width: 3px;
}

.note { /* "Бордовый" в тексте */
    color: maroon;
    font-style: italic;
}

.submit-btn {
    padding: 8px 20px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    border-radius: 5px;
}

/* ===== 4. СЕЛЕКТОР ПО ИДЕНТИФИКАТОРУ ===== */
#first-post {
    border-color: orange;
    background-color: rgba(255, 165, 0, 0.1);
}

#first-post h2 { /* "Оранжевый" в тексте */
    color: orange;
}

#first-post p { /* "Оранжевый" в тексте */
    color: orange;
}

/* ===== 5. АТРИБУТНЫЕ СЕЛЕКТОРЫ ===== */
input[placeholder="Белый"] {
    color: white;
    background-color: #333;
    padding: 8px;
    border: 1px solid #666;
    border-radius: 4px;
    margin: 10px 0;
}

/* ===== 6. ПСЕВДОКЛАССЫ И ПСЕВДОЭЛЕМЕНТЫ ===== */
/* При наведении на ссылки */
.link:hover {
    opacity: 0.8;
    transform: scale(1.05);
    transition: 0.3s;
}

/* Четные элементы списка */
.color-list li:nth-child(even) {
    font-weight: bold;
}

/* Первый элемент после h2 */
h2 + p::first-letter {
    font-size: 1.5em;
    font-weight: bold;
}

/* Иконка перед h3 */
h3::before {
    content: "🎯 ";
}

/* ===== 7. СЕЛЕКТОРЫ ПОТОМКОВ ===== */
/* Все li внутри .color-list */
.color-list li:nth-child(1) { /* "Серый" в тексте */
    color: gray;
}

.color-list li:nth-child(2) { /* "Коричневый" в тексте */
    color: brown;
}

.color-list li.highlighted { /* "Черный" в тексте */
    color: black;
    font-weight: bold;
    background-color: #ffeb3b;
    padding: 2px 5px;
    border-radius: 3px;
    display: inline-block;
}

/* ===== 8. СЕЛЕКТОРЫ СОСЕДЕЙ ===== */
/* h2 и следующий сразу за ним p */
h2 + p {
    margin-top: 10px;
    line-height: 1.5;
}

/* Первый h2 в посте */
.post:first-of-type h2 + p {
    font-style: italic;
}

/* ===== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ТОЧНОГО СООТВЕТСТВИЯ ===== */
/* Второй пост h2 и p - фиолетовый */
.post:not(#first-post) h2 { /* "Фиолетовый" в тексте */
    color: purple;
}

.post:not(#first-post) p { /* "Фиолетовый" в тексте */
    color: purple;
}

/* Заголовок "Розовый" */
.sidebar .widget:first-child h3 { /* "Розовый" в тексте */
    color: pink;
}

/* Заголовок "Бордовый" */
.widget.important-widget h3 { /* "Бордовый" в тексте */
    color: maroon;
}

/* Кнопка "Черный" */
.submit-btn { /* "Черный" в тексте */
    color: white;
    background-color: black;
}

/* Заголовок "Белый" в placeholder уже стилизован через атрибутный селектор */

/* ===== КОНТЕЙНЕРЫ ===== */
.content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 20px 0;
}

.sidebar {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #ddd;
}

footer {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #ccc;
}

.form {
    display: flex;
    flex-direction: column;
    max-width: 400px;
    gap: 10px;
}